<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script src="js/vue.js?v=2.3.4" type="text/javascript" charset="utf-8"></script>
	</head>
	<body>
		<div id="app1">
			<span>本例我们测试组件间的简单事件通信，复杂通信建议使用专门的 状态管理模式.<br/></span>
			<br/>
			<span>{{message}}</span>
			<br/>
		</div>
		<div id="app2">
			<button v-on:click="click2()">({{dtdt}})点我试下，然后看APP1的情况</button>
		</div>
	</body>
<script type="text/javascript">
//bus作为一个事件总线使用
var bus = new Vue();

var app1 = new Vue({
	el: '#app1',
	data: {
		message: "鬼知道我经历了什么",
	},
	created: function(){  //在组件创建完毕时进行事件监听
		var that = this;
		//总线监听shake自定义事件
		bus.$on('shake', function(val){
			console.log(this); //注意此时this指向bus，而非app1
			that.message = "这件事其实是在app2中触发的，我拿到了传递过来的值：" + val;
		});
	}
});

var app2 = new Vue({
	el: '#app2',
	data: {
		dtdt: 110
	},
	methods: {
		click2: function(){
			this.dtdt += 1;
			bus.$emit('shake', this.dtdt);  //触发总线的shake自定义事件
		}
	}
});
</script>
</html>
